Service-Oriented Architecture (SOA) is based on the deconstruction of yesterday's monolithic applications and information technology infrastructure into a matrix of discrete, standards-based, network-accessible services. The process of transformation requires the organization, identification, and repurposing of applications and business processes of the existing information technology infrastructure. The transformation to SOA begins with an analysis of the IT infrastructure to identify applications, business processes, and other software assets that become services, or otherwise support the SOA.
Metadata is data about data, or more specifically, information about the content of the data; service metadata is information about the services in an SOA. Service producers use service metadata to describe what service consumers need to know to interact with the service producers. Service metadata is stored in a metadata repository by service producers and then accessed by service consumers. A metadata repository provides visibility into the portfolio of assets, the traceability of the assets within that portfolio, the relationships and interdependencies that connect the assets to each other, the policies that govern use of the assets, and the projects that produce the assets and consume the assets.
A Service-Oriented Architecture implements the delivery of software services to clients over a network. System resources are made available as loosely-coupled, independent services. Services are made available through platform- and programming language-independent interfaces that are defined in a standardized way. Services are available both to clients and other services.
A web service is a software component that accepts XML-based requests from a client to perform operations. In most cases, a web service returns an XML-based response after processing the request. Web services are language-, platform-, and location-independent. A client can contact a web service that is written in a different programming language, running on a different platform, and located across the Internet.
Each web service has at least one URL at which the web service can be contacted. These URLs are called endpoints (ports in WSDL 1.1). Endpoints offer one or more operations, which define specific formats for request and response messages. In most cases, all endpoints on a service define the same set of operations.
UDDI is an acronym for Universal Description, Discovery, and Integration—a platform-independent, XML-based registry for publishing and discovering services of a service-oriented architecture (SOA) within an enterprise. UDDI is an open industry initiative (sponsored by OASIS) enabling businesses to publish service listings and discover each other and define how the services or software applications interact over the Internet. UDDI is used in SOA for runtime interoperability between systems for services and related assets, policies, and metadata.